<?php

require_once __DIR__ . '/../XML2Array.php';

/**
 * 后台应答类
 * ============================================================================
 * api说明：
 * getKey()/setKey(),获取/设置密钥
 * getContent() / setContent(), 获取/设置原始内容
 * getParameter()/setParameter(),获取/设置参数值
 * getAllParameters(),获取所有参数
 *
 * ============================================================================
 *
 */
class ClientResponseHandler
{

    // 密钥
    var $key;

    // 应答的参数
    var $parameters;

    // debug信息
    var $debugInfo;

    // 原始内容
    var $content;

    function __construct()
    {
        $this->key = "";
        $this->parameters = array();
        $this->debugInfo = "";
        $this->content = "";
    }

    /**
     *获取密钥
     */
    function getKey()
    {
        return $this->key;
    }

    /**
     *设置密钥
     */
    function setKey($key)
    {
        $this->key = $key;
    }

    function setContent($xml)
    {
        $this->content = $xml;

        try {
            $array = XML2Array::createArray($this->content);
            if (is_array($array['root'])) {
                foreach ($array['root'] as $k => $v) {
                    $this->setParameter($k, $v);
                }
            }
        } catch (Exception $e) {
            // TODO
        }
    }

    // 获取原始内容
    function getContent()
    {
        return $this->content;
    }

    /**
     * 获取参数值
     */
    function getParameter($parameter)
    {
        return $this->parameters[$parameter];
    }

    /**
     * 设置参数值
     */
    function setParameter($parameter, $parameterValue)
    {
        $this->parameters[$parameter] = $parameterValue;
    }

    /**
     * 获取所有请求的参数
     * @return array
     */
    function getAllParameters()
    {
        return $this->parameters;
    }

}